﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using LinqProviders;
using LinqProviders.LinqToNaver;

namespace LinqToNaverTest
{
    class Program
    {
        //네이버 API 키를 대입하세요.
        static string AppKey = "";

        static void Main(string[] args)
        {
            string Keyword = "아이폰";

            Console.WriteLine("---------------- 뉴스 검색 결과 -----------------------");

            //추가 파라미터를 사용하는 경우. Sort 
            //웹으로 요청 되는 URL : http://openapi.naver.com/search?key=당신의키&target=news&query=아이폰&display=5&start=1&sort=date
            NaverContext context = new NaverContext(AppKey);
            var query = (from p in context.Newsis
                         where p.Query == Keyword && p.Sort == "date" 
                        select p).Skip(1).Take(5);

            ObjectDumper.Write(query);

            Console.WriteLine("---------------- 블로그 검색 결과 -----------------------");

            var query2 = (from p in context.Blogs
                          where p.Query == Keyword && p.Sort == "sim" 
                         select p).Skip(1).Take(5);

            ObjectDumper.Write(query2);



            Console.WriteLine("----------------실시간 인기 키워드 결과 -----------------------");

            var query3 = (from p in context.Ranks
                          where p.Query == "nexearch"
                          select p);

            ObjectDumper.Write(query3);


            Console.WriteLine("----------------추천 키워드 결과 -----------------------");

            var query4 = (from p in context.Recommends
                          where p.Query == Keyword
                          select p);

            ObjectDumper.Write(query4);



            Console.WriteLine("----------------웹 문서 결과 -----------------------");
            //Queryable 메소드 확장을 이용하는 방법.
            //ScopeResults Extension 메소드를 사용.
            var query5 = (from p in context.Webkrs.ScopeResults("smack.kr")
                          where p.Query == Keyword
                          select p);

            ObjectDumper.Write(query5);


            Console.ReadLine();
                        


        }
    }
}
